Today, there are several web browsers for a user to operate when accessing the Internet. These web browsers vary greatly with feature richness and functionality. Because of the variety, software manufacturers and developers understand that web browsers may determine the user's experience during operation. Therefore, software manufacturers and developers are becoming more sensitive to enhancing the user's experience in using a particular web browser.
Web browsers may be categorized into two categories, open-source web browsers and closed-source web browsers. The difference between the two browsers is that an open-source web browser has its computer source code available to the public, such as to independent software developers or third-party vendors (ISVs), while a closed-source web browser does not have its computer source code available to the public. With the open-source web browser, the public may review the computer source code, make modifications of the computer source code with the owner's approval, or create third-party computer software based on the computer source code that has been reviewed. The third-party computer software may be built with a knowledge and understanding of the computer source code of the open-source web browser. This may result in a reduced amount of software testing to ensure the functionality and integration of the third-party computer software with the open-source web browser.
As stated earlier, computer source code of the closed-source web browser is not opened to the public. The owner of the closed-source web browser has control over the modification of the computer source code. In this situation, ISVs may not review, access, nor modify the computer source code. ISVs may find it difficult to create third-party computer software, although they are allowed to create such software that works with the closed-source web browser. Usually, the resulting third-party computer software is referred to as add-on software. Because add-on software is created independently of the computer source code, more software testing may be desired to test the functionality between the add-on software and the closed-source web browser. Software testing may be more involved and rigorous to ensure the functionality and integration of the add-on software and the closed-source web browser.
Along with the evolution of web browsers, there has been an increase in software enhancements to web browsers. One of those software enhancements has been tabbed browsing. Tabbed browsing allows a user to have multiple browser views existing in one browser window. In the past, a user had to open a separate window to access a web page. Opening multiple web pages would require opening multiple windows. With tabbed browsing, multiple web pages may be opened inside of one window. The multiple web pages are identified by tabs that may be individually selected to access a particular web page.
In the prior art, two approaches have appeared in the creation of tabbed browsing. One approach involves creating tabbed browsing for the open-source web browser. The tabbed browsing functionality may be created by modifying the computer source code of the open-source web browser. The tabbed browsing functionality is integrated into the computer source code of the open-source web browser. With this approach, the tabbed browsing functionality may be built by anyone. A downside to this approach is that the tabbed browsing functionality may not readily be separated from the computer source code of the open-source browser, especially if a problem occurs during operation.
Another approach involves creating tabbed browsing for the closed-source web browser providing tabbed browsing functionality via a toolbar that appears above an open frame in the closed-source web browser. The open frame contains visual information encountered from operating the web browser. The open frame and toolbar give the appearance of tabbed browsing. However, the tabbed browsing functionality is not fully compatible nor functional with existing applications operating with the closed-source web browser. Existing applications that may not work with tabbed browsing in this approach include browser features such as menus, status bars, toolbars, and browser helper objects (BHOs). A BHO is a computer software program that operates with the web browser. An example of a BHO is a toolbar accessory. As such, tabbed browsing may not operate with full integration and compatibility with the closed-source web browser. One reason for the limitation may be the lack of access that ISVs have to the computer source code of the closed-source web browser.
Recognizing the state of the prior art, a solution is needed to overcome the limitations of the approaches identified above. Specifically, there is a need for a fully integrated tab browsing solution for closed-source web browsers to provide application compatibility. There is also a need for an add-on software that may operate with both the open-source web browser and closed-source web browser. It would operate with the open-source web browser but allow for removal of the software if a problem arose between the add-on software and the open-source web browser. This could minimize the risk of corruption to the computer source code of the open-source web browser if a removal was needed. The same add-on software would be fully compatible with the existing features and operating capabilities of both the open-source web browser and the closed-source web browser.